<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        
    </body>
    <script>
        // ES6 提供了 Map 数据结构。它类似于对象，也是键值对的集合，但是“键”的范围不限于字符串，各种类型的值（包括对象）都可以当作键。
        // Map也实现了iterator接口,所以可以使用[扩展运算符]和for...of锦星便利 Map的属性和方法
            // size 返回Map的元素个数
            // set  增加一个新元素,返回当前Map
            // get  返回键名对象的键值
            // has  监测Map中是否包含某个元素,返回boolean值
            // clear    清空集合 返回undefined

        // 声明Map
        let m = new Map();
        // 添加元素
        m.set('name','钢铁侠');
        m.set('change',function(){
            console.log('我们可以改变你');
        })
        let key = {
            school:'学校'
        }
        m.set(key,['北京','上海','深圳'])
        // size个数
        console.log(m.size);//3
        // 删除
        // m.delete('name');
        // 获取
        console.log(m.get('change'));
        // 清空
        //m.clear();
        // 遍历
        for (const v of m) {
            console.log(v);// 每个元素是一个数组
        }
        //console.log(m);
    </script>
</html>